package net.hn.hnms.biz.project.domain;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import javax.persistence.Table;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Data
@NoArgsConstructor
@ExcelIgnoreUnannotated
@EqualsAndHashCode(callSuper=false)
@Table(name = "supplier_info", schema = "xmgl", catalog = "huaneng-manage")
public class SupplierInfo extends BaseModel implements Serializable {
    @ApiModelProperty(value = "id")
    @TableField(value = "supplier_id", fill = FieldFill.INSERT)
    @TableId(type = IdType.ASSIGN_UUID)
    private String supplierId;

    @ApiModelProperty(value = "供应商编号")
    @TableField(updateStrategy= FieldStrategy.IGNORED)
    private String supplierCode;

    @ApiModelProperty(value = "供应商名称")
    @TableField(updateStrategy= FieldStrategy.IGNORED)
    private String supplierName;

    @ApiModelProperty(value = "供应商简称")
    @TableField(updateStrategy= FieldStrategy.IGNORED)
    private String supplierAbbreviation;

    @ApiModelProperty(value = "助记码")
    @TableField(updateStrategy= FieldStrategy.IGNORED)
    private String mnemonicCode;

    @ApiModelProperty(value = "注册时间（成立日期）")
    @TableField(updateStrategy= FieldStrategy.IGNORED)
    @JsonFormat(
            pattern = "yyyy-MM-dd"
    )
    private Date registerDate;

    @ApiModelProperty(value = "单位性质")
    @TableField(updateStrategy= FieldStrategy.IGNORED)
    private String companyType;

    @ApiModelProperty(value = "人员数量")
    @TableField(updateStrategy= FieldStrategy.IGNORED)
    private Integer staffNumber;

    @ApiModelProperty(value = "所在区域")
    @TableField(updateStrategy= FieldStrategy.IGNORED)
    private String region;

    @ApiModelProperty(value = "供应商类别（所属类别）")
    @TableField(updateStrategy= FieldStrategy.IGNORED)
    private String supplierType;

    @ApiModelProperty(value = "税率")
    @TableField(updateStrategy= FieldStrategy.IGNORED)
    private BigDecimal taxRate;

    @ApiModelProperty(value = "分管部门")
    @TableField(updateStrategy= FieldStrategy.IGNORED)
    private String inChargeDepartment;

    @ApiModelProperty(value = "单位简介")
    @TableField(updateStrategy= FieldStrategy.IGNORED)
    private String briefIntroduction;

    @ApiModelProperty(value = "法人代表")
    @TableField(updateStrategy= FieldStrategy.IGNORED)
    private String legalPersonName;

    @ApiModelProperty(value = "注册资本")
    @TableField(updateStrategy= FieldStrategy.IGNORED)
    private BigDecimal registerCapital;

    @ApiModelProperty(value = "注册地址")
    @TableField(updateStrategy= FieldStrategy.IGNORED)
    private String companyAddress;

    @ApiModelProperty(value = "资产规模")
    @TableField(updateStrategy= FieldStrategy.IGNORED)
    private String assetSize;

    @ApiModelProperty(value = "年销售额")
    @TableField(updateStrategy= FieldStrategy.IGNORED)
    private BigDecimal annualSales;

    @ApiModelProperty(value = "年利润额")
    @TableField(updateStrategy= FieldStrategy.IGNORED)
    private BigDecimal annualProfit;

    @ApiModelProperty(value = "税务登记号")
    @TableField(updateStrategy= FieldStrategy.IGNORED)
    private String taxpayerCode;

    @ApiModelProperty(value = "纳税人类型（0一般纳税人）")
    @TableField(updateStrategy= FieldStrategy.IGNORED)
    private String taxpayerType;

    @ApiModelProperty(value = "经营范围")
    @TableField(updateStrategy= FieldStrategy.IGNORED)
    private String managementRange;

    @ApiModelProperty(value = "国家地区")
    @TableField(updateStrategy= FieldStrategy.IGNORED)
    private String country;

    @ApiModelProperty(value = "省份")
    @TableField(updateStrategy= FieldStrategy.IGNORED)
    private String province;

    @ApiModelProperty(value = "市")
    @TableField(updateStrategy= FieldStrategy.IGNORED)
    private String city;

    @ApiModelProperty(value = "所属机构")
    @TableField(updateStrategy= FieldStrategy.IGNORED)
    private String belongDepartment;

    @ApiModelProperty(value = "联系人")
    @TableField(updateStrategy= FieldStrategy.IGNORED)
    private String contactPerson;

    @ApiModelProperty(value = "职位")
    @TableField(updateStrategy= FieldStrategy.IGNORED)
    private String position;

    @ApiModelProperty(value = "座机电话")
    @TableField(updateStrategy= FieldStrategy.IGNORED)
    private String telephone;

    @ApiModelProperty(value = "传真")
    @TableField(updateStrategy= FieldStrategy.IGNORED)
    private String fax;

    @ApiModelProperty(value = "手机")
    @TableField(updateStrategy= FieldStrategy.IGNORED)
    private String phone;

    @ApiModelProperty(value = "邮件")
    @TableField(updateStrategy= FieldStrategy.IGNORED)
    private String mail;

    @ApiModelProperty(value = "到货地址")
    @TableField(updateStrategy= FieldStrategy.IGNORED)
    private String address;

    @ApiModelProperty(value = "开户行名称")
    @TableField(updateStrategy= FieldStrategy.IGNORED)
    private String bankName;

    @ApiModelProperty(value = "银行账户")
    @TableField(updateStrategy= FieldStrategy.IGNORED)
    private String bankCode;



}
